package com.yunlong.mapper;

import com.yunlong.dto.UserInfoDto;
import com.yunlong.dto.UserPasswordDto;
import com.yunlong.entity.User;
import com.yunlong.form.UpdateUserForm;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

/**
 * @author guorui
 * @date 2020-07-30 16:49
 * mybatis
 * jdbc
 */
@Repository
@Mapper
public interface UserMapper {
    /**
     * 根据userId查询用户
     * @return user
     */
    User selectByUserId(String userId);
    /**
     * 查询用户的部分信息（个人主页）
     */
    UserInfoDto selectUserInfoById(String userId);
    /**
     * 查找此电话号是否已注册
     *
     * @param userPhone
     * @return User
     */
    User selectByPhone(String userPhone);

    /**
     * 查找此邮箱是否已注册,查询用户表
     *
     * @param email
     * @return User
     */
    User selectByEmail(String email);

    /**
     * 忘记密码功能，查询用户的密码
     * @param userEmail
     * @return UserPasswordDto
     */
    UserPasswordDto selectUserPassword(String userEmail);
    /**
     * 重置密码
     * @return message 重置密码成功
     */
    void resetPassword(String userPassword,String userId);
    /**
     * 修改用户个人信息
     */
    void updateUserInfo(UpdateUserForm updateUserInfo);
}
